package com.wusiwei.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 三单匹配实体类
 * 对应数据库中的three_way_matches表
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class ThreeWayMatch extends BaseEntity {
    /**
     * 比对记录ID
     */
    private Long id;

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 收货单ID
     */
    private Long receiptId;

    /**
     * 发票ID
     */
    private Long invoiceId;

    /**
     * 比对结果（匹配/不匹配）
     */
    private String matchResult;

    /**
     * 差异说明
     */
    private String difference;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 匹配时间
     */
    private LocalDateTime matchTime;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount;

    /**
     * 收货单金额
     */
    private BigDecimal receiptAmount;

    /**
     * 发票金额
     */
    private BigDecimal invoiceAmount;

    /**
     * 以下是非数据库字段
     */

    /**
     * 订单号（非数据库字段）
     */
    private String orderNumber;

    /**
     * 收货单号（非数据库字段）
     */
    private String receiptNumber;

    /**
     * 发票号（非数据库字段）
     */
    private String invoiceNumber;

    /**
     * 供应商名称（非数据库字段）
     */
    private String supplierName;

    /**
     * 订单信息（非数据库字段）
     */
    private Order order;

    /**
     * 收货单信息（非数据库字段）
     */
    private Receipt receipt;

    /**
     * 发票信息（非数据库字段）
     */
    private Invoice invoice;
} 